home *** CD-ROM | disk | FTP | other *** search
Java Source | 2000-09-28 | 2.5 KB | 88 lines |
- /*
- * quicktime.app: Sample Code for Initial Seeding
- *
- * © 1997 Copyright, Apple Computer
- * All rights reserved
- */
-
- import java.applet.Applet;
- import java.awt.*;
-
- import quicktime.*;
- import quicktime.io.QTFile;
-
- import quicktime.app.display.*;
- import quicktime.app.image.ImageDrawer; // for exceptions
-
- public class QTTestApplet extends Applet {
- private boolean initDone = false;
-
- public void init () {
- try {
- if (QTSession.isInitialized() == false)
- QTSession.open();
- initDone = true;
- } catch (NoClassDefFoundError er) {
- add (new Label ("Can't Find QTJava classes"), "North");
- add (new Label ("Check install and try again"), "South");
- } catch (SecurityException se) {
- // this is thrown by MRJ trying to find QTSession class
- add (new Label ("Can't Find QTJava classes"), "North");
- add (new Label ("Check install and try again"), "South");
- } catch (Exception e) {
- // do a dynamic test for QTException
- //so the QTException class is not loaded unless
- // an unknown exception is thrown by the runtime
- if (e instanceof ClassNotFoundException || e instanceof java.io.FileNotFoundException) {
- add (new Label ("Can't Find QTJava classes"), "North");
- add (new Label ("Check install and try again"), "South");
- } else if (e instanceof QTException) {
- add (new Label ("Problem with QuickTime install"), "North");
- if (((QTException)e).errorCode() == -2093)
- add (new Label ("QuickTime must be installed"), "South");
- else
- add (new Label (e.getMessage()), "South");
- }
- }
- }
-
- // we create an inner class here so that the class loader
- // does NOT try to load QT classes until we know that
- // everything is OK
- public void start () {
- if (initDone)
- new DoQT();
- }
-
- class DoQT {
- DoQT () {
- try {
- setLayout (new BorderLayout());
-
- QTCanvas myQTCanvas = new QTCanvas (QTCanvas.kInitialSize, 0.5F, 0.5F);
- add (myQTCanvas, "Center");
- myQTCanvas.setClient (ImageDrawer.getQTLogo(), true);
-
- add (new Label ("QuickTime for Java"), "North");
- add (new Label ("Installed successfully"), "South");
- } catch (Throwable e) {
- if (e instanceof ClassNotFoundException) {
- add (new Label ("Can't Find QTJava classes"), "North");
- add (new Label ("Check install and try again"), "South");
- } else {
- System.out.println (e);
- e.printStackTrace();
- }
- }
- }
- }
-
- public void stop () {}
-
- public void destroy () {
- if (initDone)
- QTSession.close();
- initDone = false;
- }
- }
-